Linestyles

您所在的位置:网站首页 matplotlib draw Linestyles

Linestyles

2024-07-13 03:53| 来源: 网络整理| 查看: 265

Note

Go to the end to download the full example code.

Linestyles#

Simple linestyles can be defined using the strings "solid", "dotted", "dashed" or "dashdot". More refined control can be achieved by providing a dash tuple (offset, (on_off_seq)). For example, (0, (3, 10, 1, 15)) means (3pt line, 10pt space, 1pt line, 15pt space) with no offset, while (5, (10, 3)), means (10pt line, 3pt space), but skip the first 5pt line. See also Line2D.set_linestyle.

Note: The dash style can also be configured via Line2D.set_dashes as shown in Customizing dashed line styles and passing a list of dash sequences using the keyword dashes to the cycler in property_cycle.

import matplotlib.pyplot as plt import numpy as np linestyle_str = [ ('solid', 'solid'), # Same as (0, ()) or '-' ('dotted', 'dotted'), # Same as (0, (1, 1)) or ':' ('dashed', 'dashed'), # Same as '--' ('dashdot', 'dashdot')] # Same as '-.' linestyle_tuple = [ ('loosely dotted', (0, (1, 10))), ('dotted', (0, (1, 1))), ('densely dotted', (0, (1, 1))), ('long dash with offset', (5, (10, 3))), ('loosely dashed', (0, (5, 10))), ('dashed', (0, (5, 5))), ('densely dashed', (0, (5, 1))), ('loosely dashdotted', (0, (3, 10, 1, 10))), ('dashdotted', (0, (3, 5, 1, 5))), ('densely dashdotted', (0, (3, 1, 1, 1))), ('dashdotdotted', (0, (3, 5, 1, 5, 1, 5))), ('loosely dashdotdotted', (0, (3, 10, 1, 10, 1, 10))), ('densely dashdotdotted', (0, (3, 1, 1, 1, 1, 1)))] def plot_linestyles(ax, linestyles, title): X, Y = np.linspace(0, 100, 10), np.zeros(10) yticklabels = [] for i, (name, linestyle) in enumerate(linestyles): ax.plot(X, Y+i, linestyle=linestyle, linewidth=1.5, color='black') yticklabels.append(name) ax.set_title(title) ax.set(ylim=(-0.5, len(linestyles)-0.5), yticks=np.arange(len(linestyles)), yticklabels=yticklabels) ax.tick_params(left=False, bottom=False, labelbottom=False) ax.spines[:].set_visible(False) # For each line style, add a text annotation with a small offset from # the reference point (0 in Axes coords, y tick value in Data coords). for i, (name, linestyle) in enumerate(linestyles): ax.annotate(repr(linestyle), xy=(0.0, i), xycoords=ax.get_yaxis_transform(), xytext=(-6, -12), textcoords='offset points', color="blue", fontsize=8, ha="right", family="monospace") fig, (ax0, ax1) = plt.subplots(2, 1, figsize=(10, 8), height_ratios=[1, 3]) plot_linestyles(ax0, linestyle_str[::-1], title='Named linestyles') plot_linestyles(ax1, linestyle_tuple[::-1], title='Parametrized linestyles') plt.tight_layout() plt.show()

Total running time of the script: (0 minutes 1.003 seconds)

Download Jupyter notebook: linestyles.ipynb

Download Python source code: linestyles.py

Gallery generated by Sphinx-Gallery



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3